home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir43 / qsrc_dsk.zip / MODEL / WIDGET2.APP (.txt) < prev    next >
MS Visual FoxPro App  |  1992-01-15  |  58KB  |  928 lines

  1. TALKz
  2. COMPATIBLEz
  3. budcat
  4. "budcatcode"
  5. budcat.dbf
  6. Where is budcat?
  7. "budcatcode"
  8. budget
  9. budget.dbf
  10. Where is budget?
  11. product
  12. "prodcode"
  13. product.dbf
  14. Where is product?
  15. "prodcode"
  16. "deptcode"
  17. dept.dbf
  18. Where is dept?
  19. "deptcode"
  20.  Budget Table 
  21. SYSMENUz
  22.  Pick Category 
  23. DEACTIVATE POPUP
  24. PERIOD
  25. DEPTCODE
  26. BUDCATCODE
  27. deptarrayF
  28. deptarray
  29.  Pick Budget Entry 
  30. budget
  31.  Edit this Record 
  32. Period:
  33. Budgeted Amount:
  34. Budget Category:
  35. Notes:
  36. Order Table By:
  37. @! AAAN
  38. @ 1,30 GET m.product     PICTURE "@&N"     POPUP _q291f3dqs     SIZE 5,23     DEFAULT " "     VALID _q291f3ekw()     COLOR SCHEME 9
  39. @*C \<Finalize Entry? 
  40. @*VN   \!\<Cancel Edit  ; \<Save Changes
  41. @*RVN No Order ;Period  ;Dept;Category
  42. @*IVN 
  43. @*IVN 
  44.  Dept Totals For Pd
  45.  Product Totals For Year
  46. budget
  47. budcat
  48. budget
  49. product
  50. SET SYSMENU &old_sys
  51. CURRAREA
  52. STALKSTAT
  53. COMPSTAT
  54. BUDCAT
  55. BUDGET
  56. PRODUCT
  57. \BBUDCATCODEPRODCODE
  58. DEPTCODE
  59. OLD_SYS
  60. DEPTARRAY
  61. DEPTNAME
  62. ORDER
  63. nBUDCATNAMEPRODNAME
  64. EBROW
  65. ApplBUDGENTRY
  66. DO_SHOW
  67. r _Q291F3DQSPERIOD
  68. u_Q291F3E3YBUDGETAMT
  69. VALBUDCAT
  70. _Q291F3ECW_Q291F3ESFNOTES
  71. FINAL
  72. _Q291F3F19SAVEIT
  73. _Q291F3F9G_Q291F3FK3QUERY1
  74. _PR_Q291F3FTPQUERY2
  75. _Q291F3G2A_Q291F3GC2_Q291F3GC7[
  76. PERIOD
  77. SBUDGETAMT
  78. BUDCATCODEPRODUCT
  79. FINAL
  80. NOTES
  81. PERIOD
  82. SBUDGETAMT
  83. BUDCATCODEPRODUCT
  84. CAN_FINAL
  85. budcat
  86. BUDCATCODEBUDCAT
  87. ODEBUDGET
  88. ODEBUDCATNAME
  89. mFF$m
  90. Entry in past or present Periods must be Final.
  91. MRETURN
  92. DEFINAL
  93. ODENO_EDIT
  94. DEPERIOD
  95. PRODCODE
  96. EDEPTCODE
  97. EBUDCATCODEPERIOD
  98. MEFINAL
  99. THE_DATE
  100. TO_FINAL
  101. ECAN_FINAL
  102. VALBUDCAT
  103. CAN_FINAL
  104. PRODUCT
  105. PRODCODE
  106. CAN_FINAL
  107. DEPTARRAY
  108. DEPTCODE
  109. CAN_FINAL
  110.  Finalized Budget Entries are not editable. 
  111. FINAL
  112. NO_EDIT
  113.  Fill out all information before Saving, or Cancel Edit 
  114.  Editing Cancelled 
  115. MRETURN
  116. SAVEIT
  117. DEPTCODE
  118. BUDCATCODEPERIOD
  119. AMEPRODCODE
  120. period
  121. deptcode
  122. budcatcode
  123. ORDER
  124. PERIOD
  125. DEPTCODE
  126. BUDCATCODEPICK
  127. budget1.qpr
  128. BUDGET1
  129. BUDGET
  130. budget2.qpr
  131. BUDGET2
  132. BUDGET
  133. mFF$m
  134. Entry in past or present Periods must be Final.
  135. deptarrayF
  136. deptarray
  137. BUDGET
  138.  Dept Totals For Pd
  139.  Product Totals For Year
  140. CURRWIND
  141. BUDGET
  142. FINAL
  143. PERIOD
  144. ODEPD
  145. AMEBUDCATNAMEBUDCATCODEBUDCAT
  146. ODEDEPT
  147. DEPTCODE
  148. PRODUCT
  149. PRODCODE
  150. PRODNAME
  151. NO_EDIT
  152. nCAN_EDIT
  153. ENO_EDIT
  154. CAN_EDIT
  155. VALBUDCAT
  156. TO_FINAL
  157. CAN_FINAL
  158. DO_SHOW
  159. _Q291F3E3Y
  160. _Q291F3ECW
  161. _Q291F3EKW
  162. _Q291F3ESF
  163. _Q291F3F19
  164. _Q291F3F9G
  165. _Q291F3FK3
  166. _Q291F3FTP
  167. _Q291F3G2A
  168. _Q291F3GC2
  169. _Q291F3GC7
  170. TALKz
  171. COMPATIBLEz
  172. dept.dbf
  173. Where is dept?
  174. controls
  175. Controls
  176.  Department Table 
  177. controls
  178. @*VN \<Top;\<Prior;\<Next;\<Bottom;\<Edit;\<Add;\?\<Quit
  179. Deptcode
  180. @! AAA9
  181. Deptname
  182. @*HN \?\!  Cancel  ;  Save  
  183. controls
  184. CURRAREA
  185. TALKSTAT
  186. COMPSTAT
  187. CONTROLS
  188. ADDMODE
  189. EDITMODE
  190. _Q1G0NLKYTDEPTCODE
  191. CHKCODE
  192. ERRCODE
  193. DEPTNAME
  194. SAVEIT
  195. _Q1G0NLLOV_Q1G0NLLEL_Q1G0NLLER_Q1G0NLLEX
  196. EDITMODE
  197. ADDMODE
  198. SAVEIT
  199. ADDMODE
  200. EDITMODE
  201. CONTROLS
  202. ADDMODE
  203. EDITMODE
  204. CURRWIND
  205. ADDMODE
  206. EDITMODE
  207. _Q1G0NLKYT
  208. _Q1G0NLLOV
  209. _Q1G0NLLEL
  210. _Q1G0NLLER
  211. _Q1G0NLLEX
  212. TALKz
  213. COMPATIBLEz
  214. _q1g0nlpr5
  215. tagnumf
  216. _q1g0nlpr5
  217. @*VT \!OK;\?Cancel
  218. Index order:
  219. _q1g0nlpr5
  220. CURRAREA
  221. TALKSTAT
  222. COMPSTAT
  223. _Q1G0NLPR5TAGNUM
  224. STARTORD
  225. NUMTAG
  226. IDXTAGS
  227. ORDBUT
  228. R5_Q1G0NLQNC
  229. _Q1G0NLQNC
  230. TALKz
  231. COMPATIBLEz
  232. _q1g0nltsj
  233. _q1g0nltsj
  234. _q1g0nltsj
  235. QUESTION
  236. VALUE
  237. VALID
  238. NOVALID
  239. CURRAREA
  240. TALKSTAT
  241. COMPSTAT
  242. _Q1G0NLTSJDUMMY
  243. _Q1G0NLWPG
  244. m.valuef
  245. m.valuef
  246. m.valuef
  247. m.valuef
  248. m.valuef
  249. CENTURYz
  250. m.valuef
  251. @3,getcol GET m.value SIZE &msize
  252. @3,getcol GET m.value PICTURE (temp) SIZE &msize
  253. MSIZE
  254. GETCOL
  255. VALID
  256. VALUE
  257. NOVALID
  258. _Q1G0NLWPG
  259. OBJTYPE
  260. OBJCODE
  261. HEIGHT
  262. WIDTH
  263. STYLE
  264. PICTURE
  265. ORDER
  266. UNIQUE
  267. COMMENT
  268. ENVIRON
  269. BOXCHAR
  270. FILLCHAR
  271. FLOAT
  272. STRETCH
  273. NOREPEAT
  274. RESETRPT
  275. PAGEBREAK
  276. RESETPAGE
  277. SWAPHEADER
  278. SWAPFOOTER
  279. EJECTBEFOR
  280. EJECTAFTER
  281. PLAIN
  282. SUMMARY
  283. ADDALIAS
  284. OFFSET
  285. TOPMARGIN
  286. BOTMARGIN
  287. TOTALTYPE
  288. RESETTOTAL
  289.   1 0                             66 80                                         T                        F      FFFFT  0  0  0     21                                                                                                                                 2 1        16                                                      T                     17        18                             9 1                              3                                                                                                9 4                              4                                                                                                9 7                              1                                                                                                8 0                  19   4  59  1 18                                           C                    FTF 0                   0 0  8 0                  20   4   0  1  4                                           C                    FFF 0                   0 0  8 0                  21   4   9  1  5                                           C                    FFF 0                   0 0  5 0                  22   1  32  1  6                                                                F                            5 0                  23   2   0  1  8                                                                F                            8 0                  24   4  21  1  4                                           C                    FFF 0                   0 0  8 0                  25   4  54  1  1                  26                       L                    FFF 0                   0 0  5 0                  27   1  58  1  5                                                                F                            5 0                  28   1   0  1  6                                                                F                            5 0                  29   1   9  1  7                                                                F                            5 0                  30   1  52  1  5                                                                F                            5 0                  31   1  44  1  6                                                                F                            8 0                  32   7  12  1 60                  35                       C                    FFF 0                   0 0  8 0                  36   4  31  1 10                                           D                    FFF 0                   0 0  5 0                  37   1  18  1 11                                                                F                            7 4                       3  58  3 21                                          
  290.                     T                            8 0                  38   4  43  1  9                                           N                    FFF 0                   0 0  7 4                       2   0  1 80                                          
  291.                     F                            8 0                  41   0   0  1  1                                           C                    FFF 0                   0 0  8 0                  42   0   0  1 15                                           C                    FFF 0                   0 0  8 0                  44   6  59  1 20                                           C                    TFF 0                   0 0 18          46        47                                            T                     48                                  0 0
  292. BUDGET.DBF
  293. BUDGET
  294. PRODCODE
  295. budget.notes
  296. budget.deptcode
  297. budget.prodcode
  298. "Period"
  299. "Deptcode"
  300. budget.budcatcode
  301. budget.final
  302. "Notes"
  303. "Dept #"
  304.     "Product"
  305. "Final"
  306. "Budget"
  307. YCDOW(DATE())+", "+CMONTH(DATE())+" "+ALLTRIM(STR(DAY(DATE())))+", "+STR(YEAR(DATE()),4,0)
  308. budget.period
  309. "Budget Code"
  310. RIIF(budget.budgetamt > big_item, "* "+STR(budget.budgetamt,7,0), budget.budgetamt)
  311. waitpage()
  312. "Page "+ALLTRIM(STR(_PAGENO))
  313. .IIF(EMPTY(Budget.notes),"Make notes here.","")
  314. BIG_ITEM
  315. big_item
  316. (IIF(TYPE("big_item")="N", big_item, 500)
  317. BUDGET
  318. query1
  319. DEPTNAME
  320. BUDGET
  321. PERIOD
  322. BUDGETAMT
  323. DEPTCODE
  324. QUERY1
  325. BUDGET
  326. PRODUCT
  327. query2
  328. PRODUCT
  329. GEPRODNAME
  330. BUDGET
  331. PERIOD
  332. BUDGETAMT
  333. PRODCODE
  334. QUERY2
  335. THE_CODE
  336. MCODE
  337. MRETURN
  338. MORDER
  339. ADDMODE
  340.  field cannot be empty.
  341.  already in use in 
  342.  field.
  343. m.pausef
  344. PAUSE
  345. TOPIC
  346. DETAILS
  347. READITEM
  348. MENUITEM
  349. WINDOBJ
  350. CURRFILE
  351. HELPSORT
  352.  OmniPresent Widget System 
  353.           8                                         0.00 Budget Table: Query 1                 24query1                        budget    10.00 Budget Entries                        28                              budget    30.00 Browse Windows                        31                    pick                40.00 Print Options                         34          print                         80.00 Queries                               36                                        80.00 Reports and Labels                    39          report                        80.00 Data Entry                            41                                        99.99 Data Paths                            93                                        99.99
  354. This is the Help System for the Omnipresent Widget Database System.  In this introductory section and in the other help entries, you can highlight any words or phrases surrounded by two triangles, like this: 
  355.  Word or phrase 
  356. ... and press <L> (for Lookup) for more information about it.  (You can    highlight a word by double-clicking on it with the mouse or by pressing Shift-Ctrl-right arrow with your cursor at the beginning of a word.  For more information, look up the Topic on 
  357.  Editing Keys 
  358. The Omnipresent Widget Database System is a executive management tool used for tracking funds, products, production schedules, and contacts for the Omnipresent Widget company. Use it to:
  359.     enter 
  360.  Data 
  361.     execute 
  362.  Queries 
  363.     produce 
  364.  Reports and Labels 
  365. Its central planning tool is the 
  366.  Budget Table 
  367. , with which the company's costs can be forecast and compared with actual expenses for different financial quarters..
  368. This entry explains the first query buttons in the Budget Table Data Entry screen and its use.  Ordinarily, it would be created from the Comments  snippet in the appropriate GET object.
  369. This is a general help entry on data entry procedures for the Budget table.  It should be called by the data entry window...
  370. This entry could be called by windows titled "Pick ____" -- Browses that act as "drivers" for data entry window such as the Budget window in the Widget system.
  371. xPrint Options -- info on your printer and setup.  
  372. See Also: Reports and Labels
  373. This is a help entry on Queries.
  374. See Also:  Budget Table: Query 1, Budget Table Query 2
  375. rThis is a general entry on Reports and Labels.
  376. See also:  Print Options
  377. This is a general entry on data entry.
  378. See Also:  Budget Table, Product Table, Editing Keys
  379. In a large system like the OmiPresent Widget application, you would probably want your users to specify their own data directory along with many other defaults.  You would create a utility menu option and screen and save this information either as a .MEM file or as information in a special "system setup" table.
  380. You could use indirect references to your files when opening them or, if screens and reports are permitted to open their
  381. Allowing users to specify their own data paths
  382. In a large system like the OmiPresent Widget application, you would probably want your users to specify their own data directory along with many other defaults.  You would create a utility menu option and screen and save this information either as a .MEM file or as information in a special "system setup" table.
  383. You could use indirect references to your files when opening them or, if screens and reports are designed to open and close their own files, as in the defaults and simple examples shown here, you'd issue a SET PATH statement to allow the data to be found.
  384. Allowing users to specify their own data paths has several important advantages:
  385.     they can set up their disks any way that is comfortable for them;
  386.     they can maintain their data separately from their program files.  This makes backup much easier and DOS and FoxPro will both be more efficient with fewer files in each directory!
  387.     they can maintain several sets of data if necessary -- for separate offices, separate fiscal years, or even "scratch" data to be used by new operators learning the system.
  388. Your installation routines can create the necessary empty data files in each specified data directory if they are not found, as described in the INSTALL.PRG 
  389. In a large system like the OmiPresent Widget application, you would probably want your users to specify their own data directory along with many other defaults.  You would create a utility menu option and screen and save this information either as a .MEM file or as information in a special "system setup" table.
  390. You could use indirect references to your files when opening them or, if screens and reports are designed to open and close their own files, as in the defaults and simple examples shown here, you'd issue a SET PATH statement to allow the data to be found.
  391. Allowing users to specify their own data paths has several important advantages:
  392.     they can set up their disks any way that is comfortable for them;
  393.     they can maintain their data separately from their program files.  This makes backup much easier and DOS and FoxPro will both be more efficient with fewer files in each directory!
  394.     they can maintain several sets of data if necessary -- for separate offices, separate fiscal years, or even "scratch" data to be used by new operators learning the system.
  395. Your installation routines can create the necessary empty data files in each specified data directory if they are not found, as described in the INSTALL.PRG as part of Chapter 20's low-level file function section.
  396. In a large system like the OmiPresent Widget application, you would probably want your users to specify their own data directory along with many other defaults.  You would create a utility menu option and screen and save this information either as a .MEM file or as information in a special "system setup" table.
  397. You could use indirect references to your files when opening them or, if screens and reports are designed to open and close their own files, as in the defaults and simple examples shown here, you'd issue a SET PATH statement to allow the data to be found.
  398. Allowing users to specify their own data paths has several important advantages:
  399.     they can set up their disks any way that is comfortable for them;
  400.     they can maintain their data separately from their program files.  This makes backup much easier and DOS and FoxPro will both be more efficient with fewer files in each directory!
  401.     they can maintain several sets of data if necessary -- for separate offices, separate fiscal years, or even "scratch" data to be used by new operators learning the system.
  402. Your installation routines can create the necessary empty data files in each specified data directory if they are not found, as described in the INSTALL.PRG as part of Chapter 20's low-level file function section.  Alternatively, you could design error-trapping procedures that would create them the first time they are required.
  403. TALKz
  404. COMPATIBLEz
  405. budcat
  406. "budcatcode"
  407. budcat.dbf
  408. Where is budcat?
  409. "budcatcode"
  410. controls
  411. Controls
  412.  Budget Category Table 
  413. controls
  414. @*VN \<Top;\<Prior;\<Next;\<Bottom;\<Edit;\<Add;\?\<Quit
  415. budcat
  416. @! AAA9
  417. Budget category
  418. Budget code
  419. @*HN \?\!  Cancel  ;  Save  
  420. budcat
  421. controls
  422. budcat
  423. CURRAREA
  424. DTALKSTAT
  425. BCOMPSTAT
  426. BUDCAT
  427. aCONTROLS
  428. ADDMODE
  429. LEDITMODE
  430. tACT2
  431. v_Q1G0NM3FPBUDCATCODECHKCODE
  432. ERRCODE
  433. SAVEIT
  434. _Q1G0NM45R_Q1G0NM3VG_Q1G0NM3VM_Q1G0NM3VS
  435. DEDITMODE
  436. BADDMODE
  437. SAVEIT
  438. DADDMODE
  439. BEDITMODE
  440. CONTROLS
  441. ADDMODE
  442. DEDITMODE
  443. CURRWIND
  444. DADDMODE
  445. BEDITMODE
  446. a_Q1G0NM3FP
  447. _Q1G0NM45R
  448. _Q1G0NM3VG
  449. _Q1G0NM3VM
  450. _Q1G0NM3VS
  451. \<System
  452. ALT+S
  453. \<Edit
  454. ALT+E
  455. \<Tables
  456. ALT+T
  457. ALT+T
  458. Resu\<lts
  459. ALT+L
  460. ALT+L
  461. \<Windows
  462. ALT+W
  463. \<Utilities
  464. ALT+U
  465. ALT+U
  466. \<About FoxPro...
  467. About the \<Widget Application...
  468. \<Help...
  469. \<Macros...
  470. \<Filer
  471. \<Calculator
  472. Calendar/\<Diary
  473. \<Special Characters
  474. ASC\<II Chart
  475. Ca\<pture
  476. Pu\<zzle
  477. \<Quit
  478. DO widgbout.spr
  479. DO widghelp WITH VARREAD(), PROMPT(),WONTOP(), ALIAS(), WTITLE()
  480. DO _q2b0ynq7z     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  481. \<Undo
  482. CTRL+U
  483. \<Redo
  484. CTRL+R
  485. Cu\<t
  486. CTRL+X
  487. \<Copy
  488. CTRL+C
  489. \<Paste
  490. CTRL+V
  491. Clear
  492. Select \<All
  493. CTRL+A
  494. Goto \<Line...
  495. \<Find...
  496. CTRL+F
  497. Find A\<gain
  498. CTRL+G
  499. R\<eplace And Find Again
  500. CTRL+E
  501. Replace All
  502. Prefere\<nces...
  503. \<Budget Entries
  504. \<Products
  505. Budget \<Categories
  506. \<Departments
  507. C\<ustomers
  508. DO budget.spr
  509. DO _q2b0ynqs7     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  510. DO budcat.spr
  511. DO dept.spr
  512. Open & \<Browse Table
  513. \<Set Order
  514. \<Goto Record
  515. \<Locate Record
  516. Close \<Table
  517. A\<verage...
  518. C\<ount...
  519. Su\<m...
  520. Calculat\<e...
  521. \<Reports
  522. DO getorder.spr
  523. Budget Table Report #1
  524. ... etc...
  525. DO _q2b0ynr8d     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  526. \<Hide
  527. \<Hide All
  528. Sh\<ow All
  529. Clea\<r
  530. \<Move
  531. CTRL+F7
  532. \<Size
  533. CTRL+F8
  534. \<Zoom 
  535. CTRL+F10
  536. Z\<oom 
  537. CTRL+F9
  538. \<Cycle
  539. CTRL+F1
  540. \<Debug
  541. \<Trace
  542. \<Reindex
  543. Pac\<k
  544. \<Print...
  545. Printer \<Setup...
  546. \<Data Path
  547. \<Error Log Maintenance  
  548. errlog.dbf2
  549. DO _q2b0ynrps     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  550. DO _q2b0ynrqv     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  551. help Data Path
  552. \<Update Error Log Entries
  553. \<Copy Error Log to Floppy
  554. \<Erase Old Error Log
  555. DO _q2b0ynrxd     IN LOCFILE("WIDGET2" ,"MPX;MPR|FXP;PRG" ,"Where is WIDGET2?")
  556. WAIT WINDOW "Data Entry not yet available for this Table."
  557. WAIT WINDOW "Feature not implemented."
  558. _Q2B0YNPTHRESULTS
  559. _Q2B0YNPVPTABLES
  560. PTHNEWWIND
  561. UTILITIES
  562. REPORTS
  563. ERRORLOGMA
  564. YNPTHH
  565. Courtesy of FoxApp... 
  566. product.app
  567. WIDGSCRN
  568. HPRODUCT
  569. 0YNPVP}
  570. ask.spr
  571. Do you wish to print?
  572. @M NO,YES
  573. TO PRINT NOCONSOLE
  574. PREVIEW
  575. big_itemf
  576. ask.spr
  577. Smallest entry to mark:
  578. 99999
  579. REPORT FORM Model &where_out ENVIRONMENT
  580. YESNO
  581. 0YNPVPPAUSE
  582. HWHERE_OUT
  583. BIG_ITEM
  584. Reindexing cancelled.
  585. THISFILE
  586. HTHISNAME
  587. GOT_CANCEL<
  588. Ready to remove deleted FF
  589.  records?
  590. @M NO ,YES
  591. Pack cancelled.
  592. Pack cancelled.
  593. Packing F
  594.  file... 
  595. YESNO
  596. GOT_CANCELTHISFILE
  597. LTHISNAME
  598. errlog
  599. errlog
  600. DO getlisting
  601.  Current Error Log Records 
  602.  Type Your Notes on the Error that Occurred Here 
  603.  We Appreciate Your Assistance! 
  604. System Listing [F2]
  605. User Notes
  606. Current
  607. XSELECT
  608. HERRLOG
  609. CELLOGBROW
  610. LUSERMEMO
  611. USERNOTES
  612. STARTUP
  613. ERRDATE
  614. MACHECKMEMO
  615. ERRTIME
  616. LISTING
  617. ERRORLOG
  618. DO_START
  619.  Type
  620. {CTRL-W}
  621. GOHERE
  622. Errlog
  623. ERRLOG
  624. HLISTING
  625. {CTRL-F1}
  626. STARTUP
  627. H_Q2B0YNQ7Z
  628. _Q2B0YNQS7
  629. _Q2B0YNR8D
  630. _Q2B0YNRPS
  631. _Q2B0YNRQV
  632. _Q2B0YNRXD
  633. CHECKMEMO
  634. GETLISTING
  635. DO_START
  636. widglogo.spr
  637. widget2.mpr
  638. {ALT-S}{W}
  639. SETUP
  640.  ? ?WIDGLOGO
  641.  _ _ _WIDGET2
  642. _ MPR
  643. 4CLEANUP
  644. TALKz
  645. RESOURCEz
  646. RESOURCE
  647. HELPz
  648. ERROR
  649. ERROR
  650. SAFETYz
  651. FULLPATHz
  652. W_USER
  653. Widghelp
  654. DO Widgerror WITH     LINENO(1), PROGRAM(),     MESSAGE(), MESSAGE(1), ERROR(),     WLAST(), WREAD(), WONTOP(), RDLEVEL()
  655. RESOURCE
  656. ?OLDRESOURCHELP
  657. _ _ _OLDHELP
  658. _ GOT_CANCELOLDERROR
  659. 4OLDTALK
  660. OLDVUE
  661. OLDSAFE
  662.  OLDFULL
  663. W_USER
  664. CWIDGHELP
  665. SUPPORTFF
  666. ON ERROR &olderror
  667. SET SAFETY &oldsafe
  668. SET FULLPATH &oldfull
  669. OLDRESOURCRESOURCE
  670. COLDHELP
  671.  _HELP
  672. _ OLDTALK
  673. ELOLDVUE
  674. 4GOT_CANCELOLDERROR
  675. OLDSAFE
  676.  OLDFULL
  677. BAILOUT
  678. CDBFNAME
  679.  WIN_NAME
  680. _FILT_EXPR
  681. SRCHTERM
  682. _ACT3
  683.  _ _ SKIPVAR
  684. _ _ _ _ Y
  685.  _ _ _ _
  686. Browse
  687.  Browse
  688. ATC(thisvar, readitem) > 0                
  689. Current table is F
  690. THISVAR
  691. RCTHISPROMPTTHISWIND
  692. _THISFILE
  693.  THISTITLE
  694. TOPIC
  695. READITEM
  696. LWINDOBJ
  697. CURRFILE
  698.  MENUITEM
  699. TALKz
  700. ????_errs
  701. /43/1012/1149/1150/1151/1600/
  702. /5/19/20/114/1707/
  703. /1410/
  704. /1/15/41/111/1115/1294/1643/1644/1705/
  705. /124/1705/
  706. /3/108/109/110/1502/1708/
  707. /125/
  708. /1910/1643/1644/1717/
  709. The printer is not ready; RETRY or CANCEL?
  710. RETRY 
  711. @M  RETRY, CANCEL
  712. Record/file in use; RETRY or CANCEL?
  713. RETRY 
  714. @M  RETRY, CANCEL
  715. FILEOPEN
  716. Index file error detected; re-creating indexes...
  717. There is a problem with your program files.  Please re-install.
  718.  cannot recover from this error; 
  719. press a key to clean up & exit.
  720. A program exception has occurred; writing error log... 
  721. errlog
  722. errlog.dbf2
  723. errlog.fpt2    
  724. errlog
  725. errlog
  726. error number=FF
  727. error message=
  728. last error parameter=
  729. program=  
  730. lineno=  
  731. last window=
  732. top window 
  733. SCREEN 
  734. *is NOT*8
  735.  involved in current READ
  736. read level=
  737. rec. no.=
  738. FFFR^
  739. diskspace=
  740.  FFFF
  741. K memory in use by user objects
  742. K memory remaining
  743. K total memory available to Fox
  744.  Printer Driver Installed
  745. processor=
  746. video card/monitor=
  747. FILES=
  748.             Status listing
  749. gramdiskf
  750.             Memory listing
  751. survey.txt
  752. ERRLINENO
  753. ERRPROG
  754. PTERRMSG
  755. _ERRLINE
  756.  ERRNO
  757. LASTWIND
  758. READWIND
  759. LTOPWIND
  760. READNO
  761.  ERRPDSET
  762. ERRTALK
  763. PTBELLTONE
  764.  LOWMEM
  765. _ERRSTR
  766. MEMO_ERRS
  767. INDX_ERRS
  768. DISK_ERRS
  769. FILE_ERRS
  770. NETW_ERRS
  771. LOCK_ERRS
  772. PRTR_ERRS
  773. DRVR_ERRS
  774. ERR_ASK
  775. _ _ _ ERR_RESET
  776. GOT_CANCELOLDVUE
  777. XSELECT
  778. _ ERRLOG
  779. _ _ERRDATE
  780. _ ERRTIME
  781. SNAPSHOT
  782. LISTING
  783. USERNOTES
  784. ERRDATA
  785. eGRAMDISK
  786. TEMPFILE
  787. CSURVEY
  788. Debug
  789. BELLz
  790. SET BELL &oldbell
  791. RLINENO
  792. RPROG
  793. PTOLDBELL
  794. SET TALK &errtalk
  795. ERRPDSET
  796. SETUP
  797.  ? ? 
  798. CLEANUP
  799. WIDGHELP
  800. WIDGERROR
  801. BELLTONE
  802. ERR_RESET
  803. TALKz
  804. COMPATIBLEz
  805. Executive 
  806. Information
  807. System
  808. Que's USING FOXPRO 2 Model Application...
  809. CURRAREA
  810. QTALKSTAT
  811. COMPSTAT
  812. MPSTAT
  813. TALKz
  814. COMPATIBLEz
  815. _q291dzhlo
  816. _q291dzhlo
  817.  U S I N G   F O X P R O   2 
  818. by Lisa C. Slater and Steven E. Arnott
  819. This application was created from  
  820. the techniques and model database detailed in
  821. @*HN \<More;\<Done
  822. (800) 428-5331
  823. ISBN 0-88022-703-6
  824. Que Publishing
  825. _q291dzhlo
  826. CURRAREA
  827. TALKSTAT
  828. uCOMPSTAT
  829. _Q291DZHLODONE
  830. DZHLO_Q291DZI9S
  831.  About The Widget Application 
  832. widgbout.txt
  833. uDONE
  834. W_ABOUT
  835. LOWIDGBOUT
  836. 1DZI9S_Q291DZI9S
  837. TALKz
  838. COMPATIBLEz
  839. _q1g0nmphf
  840. _q1g0nmphf
  841. _q1g0nmphf
  842. QUESTION
  843. VALUE
  844. VALID
  845. NOVALID
  846. CURRAREA
  847. TALKSTAT
  848. COMPSTAT
  849. _Q1G0NMPHFDUMMY
  850. _Q1G0NMSKE
  851. m.valuef
  852. m.valuef
  853. m.valuef
  854. m.valuef
  855. m.valuef
  856. CENTURYz
  857. m.valuef
  858. @3,getcol GET m.value SIZE &msize
  859. @3,getcol GET m.value PICTURE (temp) SIZE &msize
  860. MSIZE
  861. GETCOL
  862. VALID
  863. VALUE
  864. NOVALID
  865. _Q1G0NMSKE
  866.  WIDGET2, a FoxPro 2 Application written as part of Que Publishing's _Using FoxPro 2_, adds the simple changes needed to use a Foundation READ to the data entry programs and basic procedures in WIDGET.APP.  
  867.  It also incorporates many of the other techniques taught in the section of the book beginning with Chapter 14, including a skeletal customized help system, and some example error trapping and logging.  (Hint -- if you want to see the error trapping in full action, you can use the Results menu's Browse option to open the WIDGHELP table; then try to Pack it from the Utilities menu.  This error occurs because WIDGHELP is automatically opened read-only since it is already the active help file.) 
  868.  WIDGET2 is designed using a "classic" program structure and flow as described in Chapter 14 and Chapter 16, as you'll find when you investigate WIDGET2.PJX.
  869.  All the added subprocedures needed to support this program flow (SETUP, CLEANUP, WIDGHELP, WIDGERROR) are added to the end of WIDGMAIN.
  870.  WIDGET2 is still not a real-life application.  It doesn't use all the tables that are part of the Widget system (you'll find their structures in the final Appendix), just the ones which have data entry programs built in the book.  The help system just contains a few entries, with a main entry designed to show an example of an "text-embedded menu" as described in Chapter 15, and others suggesting various ways to evaluate and call the current TOPIC.
  871.  Because some of the data entry programs built in the book are direct READs (as required in a FoxApp-generated application like PRODUCT.PJX) and some are indirect (as in the later examples we provide), the error-handling procedures cannot handle multi-user record-locking.  However, they can handle the need to USE EXCLUSIVEly for a Pack or Reindex, so these Utilities options are created from short procedures rather than the native bar names used in WIDGET.APP.
  872.  We do not mean to suggest that you should imitate some of our inconsistencies -- the different kinds of READs were provided to give you different examples.  Similarly, you would probably pick *one* of the styles of lookup popups provided in BUDGET.SCX to use for all your lookups, and you would probably settle on a different organization for your WIDGHELP file and procedure.
  873.  Here are some other differences you'll find between WIDGET2 and the original WIDGET.APP, and some additional notes on changes made to the projects from the instructions in the book:
  874.   Although it only includes one report on the menu, this example allows slightly more flexibility than the one in WIDGET.  Notice that the screen ASK.SCX has been included in WIDGET2.PJX twice, to allow it to be generated both with an .SPR and a .PRG extension (this instruction is saved with the project record for the included file).  The non-default .PRG extension allows it to be called as a UDF().  You'll find an example of this in the "Pack" selection on the WIDGET2 menu.  Ordinarily, if you wanted to use a screen as a UDF you might only include it once and stipulate the .PRG extension.  When you wanted to use it as a procedure you would DO the_scx_name with no extension, like any other PRG.  However, this example allows you to see that a screen might be included several times in a project with different "generate options" each time.
  875.   The "About..." option and several others you'd expect to find in a full application have been added -- explore the menus.  Some options that will never function under a READ have been removed.  You'd have to remove still others, replacing them with procedure you'd write, if you planned to run this application under the Distribution Kit.  (Once you've read this text, you will probably want to remove the 
  876.  KEYBOARD "{ALT-S}{W}" 
  877.  in WIDGMAIN that forces the "About Widget" option to be called at the beginning of the program.)
  878.   The unique-id code validation required for the Product table was added to the SCX in use by PRODUCT.APP (the one generated by FoxApp).  Both Widget applications then DO PRODUCT.APP instead of PRODUCT.SPR, to show  how you might include a dependent application in a larger project.  The source code for this dependent application (including both copies of the PRODUCT.SCX) can be found in \MODEL\PRODUCT, since they are not needed by the two Widget applications as long as the PRODUCT.APP file is available.
  879.   The simple WAITPAGE() UDF needed by the report included as an example has been revised slightly to allow the pause between pages to be skipped in various situations.  The report option for WIDGET2 incorporates the change by setting a variable to indicate that the pause is required (WIDGET's report menu option does not require a change).
  880.   See the Data Path option on the Utility menu in WIDGET2 for other suggested changes to use this application in the "real world".  There are other small changes scattered throughout the applications you'll notice if you "dig" a little as you follow the text. ;-)
  881.  (For more information on purchasing the book, see the file QDISTRIB.TXT, in your main directory for the book's files.  It contains a list of phone numbers and distributors.  If you are using the shareware version of the source code disk, see the file QDISK.TXT in your main source disk directory for information on registering the disk and receiving additional sample programs.)
  882. Please type your name here 
  883. Please fill out this questionnaire with any and all information that you feel might be help the Widget Application programming team track down and fix any system errors you encounter.
  884. Your "detective work" will help us make the system run as smoothly as possible.  Just type answers directly below 
  885. Were you using the mouse or the keyboard? Did you do anything differently than usual? (The sequence of the menu options that you chose would be especially helpful.)
  886. If you have seen this problem before, does it happen every time you use this menu option?  If not, do you notice any other pattern about when it happens?  For example, does it happen when you hit many keys rapidly?  
  887. What else could be done to make this part of the system easier for you to use?
  888. [information on contacting the programmers directly can go here.  The SURVEY.TXT file which creates the questionnaire could be created with TEXTMERGE to put users in touch with many different people (system admin, programmers, etc), change phone numbers, etc. SURVEY.TXT is INCLUDED
  889. in WIDGET2.APP but could be marked excluded for easy editing, also.]
  890. BUDGET.SPR
  891. F:\BOOK\QDISK\MODEL\
  892. DEPT.SPR
  893. D:\FP2\GOODIES\FOXAPP\GETORDER.SPR
  894. ASK.SPR
  895. BUDGET1.QPR
  896. BUDGET2.QPR
  897. H:\TEMP\
  898. CHKCODE.PRG
  899. ERRCODE.PRG
  900. WAITPAGE.PRG
  901. BUDCAT.SPR
  902. WIDGET2.MPR
  903. WIDGMAIN.PRG
  904. WIDGLOGO.SPR
  905. WIDGBOUT.SPR
  906. ASK.PRG
  907. BUDGET.SPX
  908. DEPT.SPX
  909. GETORDER.SPX
  910. ASK.SPX
  911. MODEL.FRX
  912. MODEL.FRT
  913. BUDGET1.QPX
  914. BUDGET2.QPX
  915. CHKCODE.FXP
  916. ERRCODE.FXP
  917. WAITPAGE.FXP
  918. WIDGHELP.DBF
  919. WIDGHELP.FPT
  920. BUDCAT.SPX
  921. WIDGET2.MPX
  922. WIDGMAIN.FXP
  923. WIDGLOGO.SPX
  924. WIDGBOUT.SPX
  925. ASK.FXP
  926. WIDGBOUT.TXT
  927. SURVEY.TXT
  928.